package com.financing.wap.service;

import com.financing.wap.dto.DstArticleCategoriesDTO;
import com.financing.wap.dto.DstArticleDTO;
import com.financing.wap.dto.DstUserSettingDTO;
import com.financing.wap.dto.DstUserVisitLogDTO;
import com.financing.wap.vo.ArticleInfoVO;
import com.financing.wap.vo.DstUserCountInfoVO;
import com.financing.wap.vo.DstUserVisitLogVO;
import com.financing.wap.vo.admin.AdminArticleInfoVO;
import com.financing.wap.vo.admin.AdminUserInfoVO;
import com.financing.wap.vo.admin.AdminUserInvitationVO;
import com.financing.wap.vo.admin.AdminUserVO;

import java.sql.SQLException;
import java.util.List;
import java.util.Map;

public interface ICommonService   {

    public List<DstUserCountInfoVO> querySendDataList(DstUserSettingDTO dto)throws SQLException;
  
    public List<DstUserCountInfoVO> querySendHotArticleList(DstUserSettingDTO dto)throws SQLException;
  
    public List<DstUserCountInfoVO> sendSummaryReminderList(DstUserSettingDTO dto)throws SQLException;
  
    public DstUserCountInfoVO visitDateLog(String openid)throws SQLException;
   
    public List<ArticleInfoVO> visitArticleInfo(String openid) throws SQLException;
    
    public ArticleInfoVO visitArticleInfoGetFisrt(String openid) throws SQLException;

    List<DstUserVisitLogVO> dstUserVisitLogList(DstUserVisitLogDTO dstUserVisitLog);

    public int dstUserVisitLogListCount(DstUserVisitLogDTO dstUserVisitLog);

	public void addVisitArticleLog(DstArticleDTO dto) throws SQLException;
	
	public List<DstArticleDTO> myAllArticleInfo(DstArticleDTO dstArticle)throws SQLException;
	public int myAllArticleInfoCount(DstArticleDTO dstArticle) throws SQLException;

    public int adminArticleInfoCount(AdminArticleInfoVO dstArticle) throws SQLException;
    public List<AdminArticleInfoVO> adminAllArticleInfo(AdminArticleInfoVO dstArticle);
    
	public int allArticleTypeInfoCount(DstArticleCategoriesDTO dto);
	public List<DstArticleCategoriesDTO> allArticleTypeInfo(DstArticleCategoriesDTO dto);

    public  DstArticleDTO  createArticle(Map<String,String> map);

    List<String> dstUserVisitLogGroupDate(DstUserVisitLogDTO dstUserVisitLog);

    Map<String, String> queryOperationStatisticsForAll(Map<String, String> papMap);

    List<Map<String,String>> queryOperationStatisticsForDailyDischarge(Map<String, String> papMap);

    List<Map<String,String>> queryOperationStatisticsForDailyDischargeUser(Map<String, String> papMap);

    List<Map<String,String>> queryOperationStatisticsForArticleTrend(Map<String, String> papMap);

    List<Map<String,String>> queryOperationStatisticsForArticleType(Map<String, String> papMap);

    //统计访客记录-分享
    List<Map<String,String>> listDstUserVisitLogShare(Map<String, String> papMap);

    List<Map<String,Object>> listDstUserVisitLogShareIcon(Map<String, String> papMap);

    List<Map<String, Object>> listDstUserVisitLogIcon(Map<String, String> papMap);

    public void addUserWeeklyTypeZh(Map<String, String> papMap);


    public void articleRealTimePush(Map<String, String> map);

    // admin 客户管理 列表
    public int queryUserInfoListCount(AdminUserVO adminUserVO);
    public List<AdminUserVO> queryUserInfoList(AdminUserVO adminUserVO);
    public AdminUserInfoVO queryUserInfoDetailed(String openid);

    List<AdminUserInvitationVO> adminUserInvitationList(String openid);
}
